In recent years, various techniques for reducing a system start time are introduced. That is, for example, contents of a memory (e.g., a random access memory: RAM) retained (e.g., is backed up) with only a CPU stalled for quickly restarting the CPU as required (so-called “resuming”), and memory contents stored as it is in a hard disk drive (HDD) is expanded into the memory for quickly returning to an operation (so-called “hibernation”) are among those techniques.
However, a driver capable of handing the above function has to be developed for realizing an operation scheme described above. Further, the program in a course of an execution operation is resumed at a point of stand-by condition, with other hardware such as a network controller and the like being initialized by following a usual operation. Therefore, a process with operation sequences conducting communication with other devices through a in-vehicle local area network (vehicle LAN) or the like may encounter a problem in a course of returning to the operation due to inconsistency of the operation sequences. Thus, known techniques for quickly returning to an operation such as resuming and hibernation is difficult to be implemented to an in-vehicle system, thereby necessitating a development of high-speed startup technique having another technical point of view.
The technique disclosed in Japanese patent document JP-A-2003-131880 describes an information processing apparatus having a flash memory for storing a program including an operating system (OS) and a RAM. The apparatus checks for the RAM regarding a load completion of the program when the apparatus is started, and also checks for a normal startup of the program on the RAM. When the normal startup is detected, the program is then executed. In this manner, the program loading from the flash memory is saved at the time of system startup, thereby enabling a reduction of the startup time.
When the operating systems such as Linux, Windows® utilizing a memory management unit (MMU) function are considered for example, these programs have a program load address determined by a kernel (so-called “relocation”). Therefore, when software such as application programs or driver programs is started, the kernel is required to determine a memory address to be used by those programs every time those programs are loaded. Therefore, the MMU function OS's are bound to have longer system startup time relative to the conventional OS's having a fixed-address method.
When the in-vehicle system utilizes the technique disclosed in the above Japanese patent document, the program loading is saved. However, when the OS has the MMU function, kernel information is required for the program execution (i.e., start up of the program). For example, the OS's such as Linux, Windows, T-Kernel and the like that assumes information loading from a file generates the kernel information when loading programs, thereby making it impossible to load programs without having the kernel information, that is, without information loading controlled by the kernel. In other words, a program that re-generates the kernel information in some way is required for startup.